import logging
import os


def init_logging(path, level):
    """日志初始化"""
    dir_name = os.path.dirname(path)
    if not os.path.exists(dir_name):
        os.makedirs(dir_name)
    logging.basicConfig(filename=path, level=level, encoding='utf-8',
                        format='%(asctime)s.%(msecs)03d [%(levelname)s] %(message)s',
                        datefmt='## %Y-%m-%d %H:%M:%S')


class Log(object):
    @staticmethod
    def __handle(*msg):
        msg = list(map(str, *msg))
        msg = ' '.join(msg)
        print(msg)
        return msg

    @staticmethod
    def d(*msg):
        msg = Log.__handle(msg)
        logging.log(logging.DEBUG, msg)

    @staticmethod
    def i(*msg):
        msg = Log.__handle(msg)
        logging.log(logging.INFO, msg)

    @staticmethod
    def w(*msg):
        msg = Log.__handle(msg)
        logging.log(logging.WARNING, msg)

    @staticmethod
    def e(*msg):
        msg = Log.__handle(msg)
        logging.log(logging.ERROR, msg)